The proliferation of high performance processors has created opportunities in designing systems with highly integrated functionalities, small footprint, and versatility. Many applications require more and more functionalities within smaller and smaller packages or form factors. Examples of these applications are media systems, server computing, network computing, mobile devices, etc. Among the most important components in these applications is memory usage.
Virtually any microprocessor-based systems require two forms of memory: main memory and mass storage. Main memory is typically implemented by dynamic random access memory (DRAM) and mass storage is implemented by hard disk or solid state drive. Synchronous DRAM (SDRAM) is the current DRAM technology in modern computer systems. SDRAM family includes double data rate two (DDR2) and three (DDR3) devices with data transfer rates two times or eight times the data rate of the memory cells. Solid state drives (SSDs) have become increasingly popular as a replacement for magnetic hard drives in many applications. The storage on an SSD is handled by flash memory devices. Compared to magnetic hard drives, advantages of SSDs include less power usage, faster data access and higher reliability. Many applications require a significant amount of memory storage for both main memory and mass storage. In addition, it is desirable to reduce form factor or footprint of the overall system.